﻿using System;
using System.Collections.Generic;
using EXT;
using System.Linq;
using System.Windows.Forms;
using System.Data;

namespace BanHangCshap.DanhMuc.gkhtdl63.Thuchi
{
    public partial class frmChiLuongDuThuChitiet : Form
    {
        bool IsAOrE;
        DataRow xgDR;
        public frmChiLuongDuThuChitiet(bool IsAOrE,DataRow xlDR)
        {
            this.IsAOrE = IsAOrE;
            this.xgDR = xlDR;
            InitializeComponent();
        }

        Class.gkhtdl63.BLL.AllInOneBLL xgAllInOneBLL = new BanHangCshap.Class.gkhtdl63.BLL.AllInOneBLL();

        private void LoadNhanvien()
        {
            DataTable xlDT = xgAllInOneBLL.Nhanvien_LayDanhsach();
            if (xlDT != null)
            {
                DataRow xlNewDR = xlDT.NewRow();
                xlNewDR[0] = "";
                xlNewDR[1] = "";
                xlDT.Rows.InsertAt(xlNewDR, 0);

                gletendn.Properties.DataSource = xlDT;
                gletendnLap.Properties.DataSource = xlDT;
            }
            else
                DevExpress.XtraEditors.XtraMessageBox.Show("Không kết nối được với Server\nVui lòng kiểm tra lại kết nối", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }

        Class.gkhtdl63.BLL.ThuChi3BLL ThuChi3BLL = new BanHangCshap.Class.gkhtdl63.BLL.ThuChi3BLL();

        private void Taomoi()
        {
            gletendn.EditValue = null;
            dtpNgay.EditValue = DateTime.Now;
            txtMa.EditValue = ThuChi3BLL.TaoMa(DateTime.Now);
            gletendnLap.EditValue = UserStatic.tendn;
            glemaloainoidungthuchi2.EditValue = null;
            txtSotien.EditValue = (float)0;
            txtGhichu.EditValue = null;
            gletendn.Focus();
        }

        long Id = 0;

        private void Hienthi()
        {
            Id = (long)xgDR["Id"];
            gletendn.EditValue = xgDR["tendn"].ToString();
            dtpNgay.EditValue = xgDR["Ngay"];
            txtMa.EditValue = xgDR["Ma"].ToString();
            gletendnLap.EditValue = xgDR["tendnLap"].ToString();
            glemaloainoidungthuchi2.EditValue = xgDR["manoidungthuchi2"].ToString();
            txtSotien.EditValue = xgDR["Sotien"].ToFloat();
            txtGhichu.EditValue = xgDR["Ghichu"];
            simpleButton3.Focus();
        }

        private void LoadNoidungthuchi2()
        {
            glemaloainoidungthuchi2.Properties.DataSource = xgAllInOneBLL.Load_Noidungthuchi2();
        }

        private void frmChiLuongDuThuChitiet_Load(object sender, EventArgs e)
        {
            LoadNhanvien();
            LoadNoidungthuchi2();
            if (IsAOrE)
            {
                Taomoi();
            }
            else Hienthi();
        }

        private void simpleButton3_Click(object sender, EventArgs e)
        {
            Close();
        }

        public event MyEvent_LoadData Tailai = null;

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (gletendn.Text.Trim().Equals(""))
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Chưa chọn đối tượng nhận", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                gletendn.Focus();
                return;
            }
            if (txtMa.Text.Trim().Equals(""))
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Không thể kết nối với Server", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (txtSotien.Text.ToFloat()<=0)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Số tiền phải lớn hơn hoặc bằng 0", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtSotien.Focus();
                return;
            }

            Class.gkhtdl63.DAL.Entities.ThuChi3 TC3 = new BanHangCshap.Class.gkhtdl63.DAL.Entities.ThuChi3();
            TC3.Id = Id;
            TC3.Ma = txtMa.Text;
            TC3.tendn = gletendn.EditValue.ToString();
            TC3.Ngay = dtpNgay.EditValue.ToDateTime();
            TC3.tendnLap = gletendnLap.EditValue.ToString();
            TC3.Sotien = txtSotien.EditValue.ToFloat();
            TC3.manoidungthuchi2 = glemaloainoidungthuchi2.EditValue.ToInt32();
            TC3.Ghichu = txtGhichu.Text.ToUpperFirst();
            if (IsAOrE)
            {
                if (ThuChi3BLL.ThuChi3_Them(TC3))
                {
                    if (Tailai!=null)
                    {
                        Tailai(this, new ELoadData() { Data=null,IsLoadData=true});
                    }
                    Taomoi();
                }
                else
                    DevExpress.XtraEditors.XtraMessageBox.Show("Không thể kết nối đến Server", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
                if (ThuChi3BLL.ThuChi3_CapNhat(TC3))
                {
                    if (Tailai != null)
                    {
                        Tailai(this, new ELoadData() { Data = null, IsLoadData = true });
                    }
                    Taomoi();
                }
                else
                    DevExpress.XtraEditors.XtraMessageBox.Show("Không thể kết nối đến Server", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }
    }
}
